home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Nebula 2
/
Nebula Two.iso
/
Drivers
/
ATIMach32PCI
/
ATI_hack.txt
< prev
next >
Wrap
Text File
|
1993-07-07
|
7KB
|
243 lines
ATI HACK
From qb.rhein-main.de!vhs@odb.rhein-main.de Wed Jul 6 05:17 CDT 1994
Return-Path: <qb.rhein-main.de!vhs@odb.rhein-main.de>
Received: from ki1.chemie.fu-berlin.de by slowhand (5.0/SMI-SVR4)
id AA27098; Wed, 6 Jul 94 05:16:58 CDT
Received: by ki1.chemie.fu-berlin.de (Smail3.1.28.1)
from odb.rhein-main.de (193.141.47.4) with smtp
id <m0qLU1n-0000XWC>; Wed, 6 Jul 94 12:16 MEST
Received: from qb.rhein-main.de by odb.rhein-main.de with uucp
(Smail3.1.28.1 #4) id m0qLU2W-000aShC; Wed, 6 Jul 94 12:17 MET DST
Received: by qb.rhein-main.de (Smail3.1.28.1 #2)
id m0qLUTP-0027eAC; Wed, 6 Jul 94 11:45 GMT+0100
Received: by NeXT.Mailer (1.100)
Received: by NeXT Mailer (1.100)
Message-Id: <m0qLUTP-0027eAC@qb.rhein-main.de>
Date: Wed, 6 Jul 94 11:45 GMT+0100
From: vhs@qb.rhein-main.de (Volker Herminghaus-Shirai)
To: longsg01@slowhand.nmb.com (Gary Longsine)
Subject: Re: ATI Mach32 PCI driver???
Reply-To: vhs@qb.rhein-main.de
Content-Type: text
Content-Length: 6340
In comp.sys.next.misc article <2vc3l1$2kk@slowhand.nmb.com> you wrote:
> Does anyone know where I can get the alleged
> beta driver for the ATI Mach 32 PCI video?
> Please respond via email...
> Thanks!
> Gary Longsine
> longsg01@slowhand.nmb.com (ascii mail only)
Try [info|drivers]@talus.com. I know they released one end April, but also
heard it's hard to get unless you buy a bundle of drivers from them. If you
hear of any alternatives, please let me know. I've been struggling with
mine for a while now, and getting tired.
BTW I have a Zenith 500 with mach32 and an STG1700 RAMDAC. There is a patch
that someone posted a while ago to make ATI/PCI running, but it probably
only works if you have one of the NeXT-supported RAMDACs (mine isn't
supported, of course :-(. You need the development system, though. Good
luck.
--------- Cut here -------
>From: keiblin@cs.tu-berlin.de (Alexander Keiblinger)
>Newsgroups: comp.sys.next.hardware
>Subject: Re: ATI GUP on PCI WORKS!!! ,any interest ?
>Date: 28 Jan 1994 13:21:20 GMT
>Organization: Technical University of Berlin, Germany
>
>
>Here the howto for the ATI GUP PCI card:
>-You need the Developer Package to use it. I am not able to give you self
> configuring binaries, because I do not have documentation for different
> flavours of ATI PCI card registers. It should work with different
RAMDACS.
> Mostly the ones you find in the NeXT Code.
>
> Use this only if you understand the code and/or are sure that your card
maps
> in at 1GB and has a Video Port Adress of 0x2e0-0x2ef.
> I use this pseudo-diff, to let you do some work in the interesting area
of the
> code, so you can understand what you are doing. You will see the places
where
> you have to change values to get it working for your own card.
>
>What to do:
>
>1) be sure you know, that you can reboot cleanly with
RightAlt+RCtrl+NumLock
> and then pressing "r" blind. This is for the case your window server
comes
> up with a wrong aperature address. Then you can reboot with
"config=Default"
> and fix it in VGA mode.
>
>2) Change
>*** /NextDeveloper/Examples/DriverKit/ATI/Default.table
>--- /NextDeveloper/Examples/DriverKit/MyATI/Default.table
>* "Memory Maps" = "0x7e00000-0x7ffffff 0xa0000-0xbffff 0xc0000-0xcffff";
>! "I/O Ports" = "0x100-0x105 0x2e8-0x2ef 0x3b0-0x3e0 0x6e8-0x6ef
0xae8-0xaef 0xee8-0xeef 0x12e8-0x12ef 0x16e8-0x42ef 0x46ee-0x46ef
0x4ae8-0x4aef 0x52ee-0xfeef";
>
>to:
>
>! "Memory Maps" = "0x40000000-0x401fffff 0xa0000-0xbffff 0xc0000-0xcffff";
>! "I/O Ports" = "0x2e0-0x2ef";
>
>to get new values as Default in Configure.app. The second and third values
in
>Memory Maps should stay the way they are.
>
>3) Change
>
>*** /NextDeveloper/Examples/DriverKit/ATI/ATI_reloc.tproj/ATIModes.h
>--- /NextDeveloper/Examples/DriverKit/MyATI/ATI_reloc.tproj/ATIModes.h
>* #define INTEL_CORSAIR_FB_ADDR 0x7a000000
>to:
>! #define INTEL_CORSAIR_FB_ADDR 0x40000000
>
>to burn in my Memory Aperature Address
>
>4) Add
>
>*** /NextDeveloper/Examples/DriverKit/ATI/ATI_reloc.tproj/ATI.m
>--- /NextDeveloper/Examples/DriverKit/MyATI/ATI_reloc.tproj/ATI.m
>***************
>*** 119,126 ****
> {
> unsigned char *ip;
> unsigned int location; /* Base address in Mbytes */
>!
> /*
> * The PC BIOS is broken into 2 Kb slices. On startup, the ATI BIOS
> * stashes away which 2 Kb slice it live in in scratch reg 0.
>--- 119,133 ----
> {
> unsigned char *ip;
> unsigned int location; /* Base address in Mbytes */
>!
>!
>! #if DEBUG
>! IOLog("MemoryAperatureBaseAddress() == 0x%x\n",
INTEL_CORSAIR_FB_ADDR);
>! #endif
>! return(INTEL_CORSAIR_FB_ADDR); /* Return phys address in bytes, not
Mb */
>!
>!
> /*
> * The PC BIOS is broken into 2 Kb slices. On startup, the ATI BIOS
>
>to get burned in configured Aperature Adress and nothing else!
>
>5) Add
>
>*** /NextDeveloper/Examples/DriverKit/ATI/ATI_reloc.tproj/ATI.m
>--- /NextDeveloper/Examples/DriverKit/MyATI/ATI_reloc.tproj/ATI.m
>***************
>*** 160,166 ****
>--- 167,180 ----
> {
> unsigned char *ip;
> unsigned int location;
>+
>+ /*
>+ * It's never safe to reprogram Corsair Style Bios, as we don't
know
>+ * how to set the off-chip decoding logic.
>+ */
>+ return NO;
>+
> #if DEBUG
> IOLog("SetMemoryAperatureBaseAddress(0x%x)\n", newLocation );
> #endif
>
>6) Add
>
>*** /NextDeveloper/Examples/DriverKit/ATI/ATI_reloc.tproj/ATI.m
>--- /NextDeveloper/Examples/DriverKit/MyATI/ATI_reloc.tproj/ATI.m
>***************
>*** 510,516 ****
>--- 524,534 ----
> * DriverKit which prevents setting addresses in the high 2 Gb of
> * address space.
> */
>+
>+ break;
>+ /* We dont want the following */
>+
> if (range->start != physLoc || range->size < length) {
> IOLog("%s: FB addr decodes as 0x%x, overriding configured "
> "addr 0x%x.\n", [self name], physLoc, range->start);
>
>to come around bus logic tests.
>
>7) Add
>
>*** /NextDeveloper/Examples/DriverKit/ATI/ATI_reloc.tproj/ATI.m
>--- /NextDeveloper/Examples/DriverKit/MyATI/ATI_reloc.tproj/ATI.m
>***************
>*** 619,625 ****
>--- 637,649 ----
> {
> int slot;
> unsigned int product_id;
>+
>+ /* This is what we want */
>+ IOLog("%s: Assuming a PCI bus ATI card.\n", [self name]);
>+ ati_flavor = ATICorsair;
>+ return TRUE;
>+
>
> /* First, scan for a board in an EISA slot. */
> if ([self isEISAPresent] == TRUE) {
>
>for card id.
>
>Now you can build the project. Build DEBUG recommended.
>
>That were the changes in the Driver Kit ATI code to get it going. Now you
have
>to as root:
>
>-mv /usr/Devices/ATI.config to /usr/Devices/ATI.config.original
>-double click on your new
/NextDeveloper/Examples/DriverKit/MyATI/ATI.config
> this will install the new Driver. You can choose the resolution and
colors.
> With colors I get about 0.89 NXBench-marks, monochrome 1.3 NXBench-marks.
>-Reboot and press Return on the boot prompt to get around the grafic boot
up,
> to see all that happens. Mostly the debugging output.
>-Be happy or remember point 1) (that one about dirty shutdown).
>
>
> That was it ... Good luck ... Bye
>
>--
> "I'm sorry Dave, I'm afraid I can't do that"
>
--
Volker Herminghaus-Shirai (vhs@qb.rhein-main.de)
Cogito ergo NeXT - Save the Whales -- Harpoon a Honda